home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / 8bit / cislib_a / disass.doc < prev    next >
Text File  |  1995-04-22  |  5KB  |  79 lines

  1. DISASSEMBLER 6502
  2.  
  3. Copyright 1983
  4. By Gary C. Crider
  5. For the
  6. North Texas Atari Computer Team.
  7.  
  8.  
  9.  
  10. DISASSEMBLER 6502 was written for the hardcore assembler language programmer who is seldom happy with an existing piece of software.  When no source code is available, modifying machine language programs can be extremely difficult.
  11. DISASSEMBLER 6502 creates source code from machine language that can be modified, reassembled, and executed.
  12.  
  13. SYSTEM REQUIREMENTS:
  14.  
  15. MEMORY: 24k minimum and 48k
  16.         desirable.
  17.  
  18. INPUT DEVICES: Keyboard and one or
  19.         more disk drives.
  20.  
  21. OUTPUT DEVICES: Screen and one disk
  22.         drive.  A second disk drive
  23.         or cassette drive is needed
  24.         for machine-readable output
  25.         of disk boot files or large
  26.         disassemblies. Double density
  27.         can be very beneficial.
  28.  
  29. SOFTWARE: An assembler/editor is
  30.         required if you wish to
  31.         reassemble the output.
  32.         DISASSEMBLER 6502 output
  33.         has been tested on the
  34.         ATARI ASSEMBLER/EDITOR
  35.         cartridge and MAC/65 from
  36.         Optimized Systems Software.
  37.  
  38.  
  39. INPUT:
  40.  
  41. Input to the disassembler can be from the following sources:
  42.  
  43. MEMORY - Any range of memory addresses from 0 to $FFFF can be disassembled.  Addresses can be entered in either decimal or hex (e.g. 100 or $64).
  44.  
  45. DISK SECTORS - Any range of sector numbers from 1 to 720 can be disassembled.  Sector numbers may be entered in either decimal or hex.  The last three bytes of a DOS format sector are control bytes.  They contain the directory entry number, next sector number and number of bytes used in the sector.  Options are available to disassemble sectors including or excluding these control bytes.
  46.  
  47. DISK BOOT FILES - By simply placing the disk in the specified drive after disk boot option selection, any boot file on that disk will be disassembled.  This does not work on double density disks. The ATARI operating system initialization code only supports double density disk boot in half sectors.  Caution - Many times the disk boot file is simply a loader to load the remainder of the program.  Use the sector disassembly option to disassemble the remainder of the program once it has been determined what sectors are being loaded.
  48.  
  49. BINARY LOAD FILES - DISASSEMBLER 6502 will disassemble any DOS 2.0 or OS/A+ Version 2 format binary load file.  Compound structures are also supported.
  50.  
  51.  
  52. OUTPUT:
  53.  
  54. There are four output options available for DISASSEMBLER 6502.  Any one or more in combination can be used. You may continue to select options until the <RETURN> key is pressed.  At that time remaining information may be obtained and disassembly begun.
  55.  
  56. SCREEN - Output is directed to the screen editor.  A line of output includes the hex machine instruction, the 6502 assembler language instruction, and the hex address of the instruction.
  57.  
  58. PRINTER - Output is directed to the printer.  You will be prompted for an optional page heading to be printed at the top of each page.  A line of output includes the hex instruction, the line sequence number (as it would appear on a disk output file), the assembler instruction and the hex address of the instruction.
  59.  
  60. DISK - Output is directed to a specified disk file.  The output is in LIST format and includes a line sequence number, assembler instruction, and hex address.  The file can be ENTERed into the assembler/editor for modification and reassembly.  Since most assemblers can only assemble about 1800-2100 lines of instructions, the output is put into multiple files of 1600 lines or less.  This allows room for modifications. An extender of X01 - Xnn is appended to the file name.  All of the output files can be reassembled as a unit by using the .INCLUDE facility and/or disk assembly facility which are available in many good assemblers.  They can also be assembled separately and combined using the binary save feature of DUP.SYS.  A 1600 line file will use from 120 to 150 single density disk sectors. Thus an empty disk can hold two files.  Double density disks have double the capacity.
  61.  
  62. CASSETTE - Output is directed to a cassette recorder in the same format as that directed to disk.  The files are also split into 1600 line files.  This will require most of one side of a sixty minute cassette.
  63.  
  64.  
  65. UNRECOGNIZED INSTRUCTIONS:
  66.  
  67. If an opcode is encountered that is not recognized as a valid 6502 opcode, a .BYTE instruction is generated.  Up to three unrecognizable characters will be included in a single .BYTE record.  A BRK instruction ($00) most often occurs as a data byte rather than an instruction.  The disassembler treats binary zeros as a .BYTE character.
  68. Since data bytes that are valid opcodes cannot be distinguished by a disassembler as data bytes, they will be interpreted as instructions.  The logic flow of the program should indicate which of these instructions are actually data bytes.  This misinterpretation of data bytes will not prevent the reassembled program from looking just like the origional.
  69.  
  70.  
  71. SPECIAL OFFER!
  72.  
  73. Please read file OFFER.DOC for a special offer on the latest versions of all of my software products. Is $5 too much?
  74.  
  75.     Gary C. Crider
  76.     1105 Burgess Ct.
  77.     Arlington, TX 76015
  78.     (817) 467-1114
  79. ⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨⑨